Telegram Group & Telegram Channel
Самые интересные фичи Python 3.12, которые уже можно тестить и встраивать в проекты


1️⃣ Улучшенный match-case

Теперь можно использовать «захват» значений прямо в паттернах:


def http_status(code):
match code:
case 200 | 201 | 202 as ok:
return f"Success: {ok}"
case 400 as bad | 404 as bad:
return f"Client error: {bad}"
case _:
return "Other"


Большая гибкость и меньше «шаблонных» переменных!



2️⃣ Новый оператор f”{…=}" для отладки

Позволяет вывести и имя, и значение переменной в одной строке:


user = "Alice"
age = 29
print(f"{user=}, {age=}")
# Выведет: user='Alice', age=29


Больше никаких лишних print("user", user)!



3️⃣ Оптимизация работы с памятью и скорость

Команда CPython продолжает ускорение интерпретатора:

* Выделение объектов стало быстрее
* Сборщик мусора реже «паузит» приложение

Это особенно заметно в тяжёлых сервисах и бэкендах.



4️⃣ Новые API для типов

Добавили typing.Self и более гибкие Generic-типизации:


from typing import Self

class Builder:
def set_name(self, name: str) -> Self:
self.name = name
return self

b = Builder().set_name("Demo")


Удобнее писать цепочки вызовов без «# type: ignore»!



💡 Что попробовать прямо сейчас?

1. Установить Python 3.12 pre-release:


pyenv install 3.12.0b4

2. Переписать пару функций с match-case.
3. Пощупать f"{var=}" в дебаге.

👉@BookPython



tg-me.com/BookPython/3674
Create:
Last Update:

Самые интересные фичи Python 3.12, которые уже можно тестить и встраивать в проекты


1️⃣ Улучшенный match-case

Теперь можно использовать «захват» значений прямо в паттернах:


def http_status(code):
match code:
case 200 | 201 | 202 as ok:
return f"Success: {ok}"
case 400 as bad | 404 as bad:
return f"Client error: {bad}"
case _:
return "Other"


Большая гибкость и меньше «шаблонных» переменных!



2️⃣ Новый оператор f”{…=}" для отладки

Позволяет вывести и имя, и значение переменной в одной строке:


user = "Alice"
age = 29
print(f"{user=}, {age=}")
# Выведет: user='Alice', age=29


Больше никаких лишних print("user", user)!



3️⃣ Оптимизация работы с памятью и скорость

Команда CPython продолжает ускорение интерпретатора:

* Выделение объектов стало быстрее
* Сборщик мусора реже «паузит» приложение

Это особенно заметно в тяжёлых сервисах и бэкендах.



4️⃣ Новые API для типов

Добавили typing.Self и более гибкие Generic-типизации:


from typing import Self

class Builder:
def set_name(self, name: str) -> Self:
self.name = name
return self

b = Builder().set_name("Demo")


Удобнее писать цепочки вызовов без «# type: ignore»!



💡 Что попробовать прямо сейчас?

1. Установить Python 3.12 pre-release:


pyenv install 3.12.0b4

2. Переписать пару функций с match-case.
3. Пощупать f"{var=}" в дебаге.

👉@BookPython

BY Библиотека Python разработчика | Книги по питону


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/BookPython/3674

View MORE
Open in Telegram


Библиотека Python разработчика Telegram | DID YOU KNOW?

Date: |

Why Telegram?

Telegram has no known backdoors and, even though it is come in for criticism for using proprietary encryption methods instead of open-source ones, those have yet to be compromised. While no messaging app can guarantee a 100% impermeable defense against determined attackers, Telegram is vulnerabilities are few and either theoretical or based on spoof files fooling users into actively enabling an attack.

For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.

Библиотека Python разработчика from ar


Telegram Библиотека Python разработчика | Книги по питону
FROM USA